1. Field of the Invention
The present invention relates to a web-based communication management system and, more particularly, to a method for reducing the amount of data transmitted between a server and a client in a web-based management system of a client-server type.
2. Background of the Related Art
Generally, a web-based communication system is capable of communicating multimedia information, including a voice signal, promptly and precisely among widely separated users. The web-based communication system supports numerous subscribers and communicates information precisely, with little error in the conveyed information. Even if there is an error, an operator of the system should be able to detect the error.
A client-server model applied as a management system for the communication system allows an operator to manage the communication system at the server site or any other site having a client device in communication with the server. Although operating information and management data for the communication system are stored by the web server, the operator of the management system may access the stored information and manage the communication system through a web-based client of the server.
To manage the communication system using the client-server model, data shared by the client and the web server should be current and synchronized. Data synchronization between the client and the web server should be performed to synchronize the shared data.
FIG. 1 is a block diagram showing a structure of a related art web-based communication management system. A communication device 10 communicates data between respective individuals and provides information used to manage and control the communication device. An exclusive network 20 provides a communication path for the communicated data and a web server 30 connects to the exclusive network 20 that manages and controls the transmission devices 10. A web-based public network 40 connects to the web server 30 and a client 50 so that the operator may manage the communication devices 10 through a client terminal 50, which is remotely located with respect to the server 30.
Management Process Server (MPS) 35, operating within the server 30, provides an interface for the server 30 to manage and control the communication devices 10. A Management Process Client (MPC) 55, operating within the client 50, interfaces the operator to the server 30 through the client terminal 50.
Data synchronization can be achieved by a polling processing method and an event processing method using the above-described system. Using the polling processing method, the MPC 55 requests synchronization data from the MPS 35 and updates its respective client's copy of the management data using the downloaded data. However, this method generates a lot of traffic due to frequent or periodic synchronization requests made by the MPC 55. These requests may occur even when there is no data to be updated.
Using the event processing method, the MPS 35 transmits the data that has been revised or its entire copy of the management data to the MPC 55 when a specific event occurs. If the MPC 55 does not receive the communication data, a management re-synchronization should be made. However, no confirmation mechanism is provided by the event processing method to ensure the management data communicated by the MPS is received and stored by the MPC 55.
To solve the above problems, the web-based communication management system adapts the synchronization methods of the polling processing method and the event processing method to an improved management system.
FIG. 2 is a block diagram showing a structure of information used for synchronization in the related art data synchronization method. The synchronization data of the tree structure illustrated includes a root, a parent node, and a leaf node. The parent node may be a multiple step structure, that is, a sub-parent node may be constructed by the characteristics of the management data. The parent node includes an Identifier (ID) of the parent node itself and an ID of the last leaf node that is managed by the parent node. The leaf node includes an ID of the leaf node and its parent node, an ID indicating the location of the leaf node (DataLocID), a DataSize identifying the size of the stored data, and the stored management data.
A data synchronization method using the related art web-based communication management system will be described below. Web server 30 forms the management data to be communicated for synchronization with the client 50 into the tree data structure of FIG. 2. The client 50 downloads this data structure when initially connected to the web server 30.
The web server 30 periodically generates a checksum value for each leaf node in the tree structure, during system operation, and transmits the generated checksum information to the client 50, if the checksum value is different from the checksum value previously generated. The client 50 compares the received checksum information to the checksum information for the corresponding leaf node in the data tree structure stored by the client terminal 50. If the checksums have different values, the client 50 transmits a datagram to the web server identifying the location of the leaf node having the obsolete checksum value. Web server 30 searches its storage file for the current data corresponding to the leaf node location identified by the datagram and transmits this current data to the client 50. Then, client 50 updates its record of the leaf node data using the current data communicated by web server 30 and data synchronization between the web server 30 and the client 50 is achieved for the leaf node. This process is described in more detail below.
FIG. 4A is a flow chart showing a data synchronization method of web server for the related art web-based communication management system. FIG. 4B is a flow chart showing a method employed when the web server transmits data of the corresponding data tree to the client, after receiving a request to transmit the identified data tree. FIG. 5 is a flow chart showing a data synchronization method of the client in the related art web-based communication management system.
The MPS 35 operating in the web server 30 groups data needed to manage the communication device 10 according to its relevancy and forms the grouped data as a tree data structure (S10). After that, MPS 35 generates a checksum for each leaf node in the tree structure (S11). Additionally MPS 35 monitors the communications received from the clients 50 to determine whether a request for the tree data structure has been made by the MPC 55 (S12). When the MPC 55 of the client 50 initially connects to the MPS 35, it requests information from the tree data structure for synchronization (S30). The MPS 35 transmits the requested information to the MPC 55 in accordance with the request (S13). To transmit this information, the MPS 35 generates a Thread (S14). The MPC 55 generates a checksum of the leaf node downloaded from the MPS 35 (S31 and S32).
MPS 35 periodically generates a checksum of each leaf node in the tree data structure stored by server 30 using a timer (S15, S16 and S17). As a checksum is generated for a leaf node, the checksum is compared with the previously generated checksum for the leaf node (S18). If the compared checksums for the leaf node do not match, then the data stored by the leaf node has been revised since the previous checksum period. To inform the MPC 55 of the revision, the MPS 35 generates a checksum datagram as shown in FIG. 3A and transmits the datagram to the MPC 55(S19). The checksum datagram includes a DatagramSize identifying the total size of the datagram, a DatagramType identifying the type of datagram, and checksums of the leaf node having a different earlier checksum.
Upon receiving the checksum datagram from MPS 35, MPC 55 compares the checksums included the checksum datagram to the checksums of the leaf node stored by the client's tree data structure (S33 and S34). If any of the compared checksums differ, MPC 55 generates a request datagram as shown in FIG. 3B and transmits it to the MPS 35 (S35 and S36). The request datagram includes a DatagramSize, a DatagramType, and IDs representing the locations of the leaf nodes having the outdated checksums (DataLocID).
When the request datagram is received from the MPC 55, the Thread generated by MPS 35 interprets it (S21 and S22). The thread searches each leaf node stored by the server 30 having an outdated checksum, as identified by in the request datagram, for the changed data (S23). After the thread finds the data for all of the leaf nodes identified by the request datagram, the current data for each leaf node is conveyed to the requesting MPC 55 in the response datagram, illustrated in FIG. 3C (S24 and S26). The response datagram includes a DatagramSize, a DatagramType, a DataSize, and data.
However, if MPS 35 cannot find the leaf node identified by the request datagram in the tree structure stored by the MPS 35, then MPS 35 generates an error datagram as shown in FIG. 3D and transmits it to the requesting MPC 55. The error datagram includes a DatagramSize, a DatagramType, and an ErrorStatus.
When the MPC 55 receives the response datagram from the MPS 35 (S37), the MPC 55 revises the data of the corresponding leaf node in its stored tree data structure using the data provided in the response datagram (S38). When the MPC 55 receives the error datagram, it determines whether the re-request for tree structure switch is set. If the re-request for tree structure switch is set, the MPC 55 sends another request for the tree structure to the MPS 35 and returns to the S31 process. However, if the re-request for the tree structure switch is not set, the MPC 55 returns to the S36 process and submits a datagram request for the data of the corresponding leaf node to MPS 35 (S36).
Using related art synchronization method with the web-based communication management system, if the datagram transmitted from the web server to the client is lost, the client is not able to recognize the lost data precisely. Therefore, the period during which data stored by the web server and data stored by the client differ is long, making the management of the communication device slow and less effective.
Also, the web server determines whether the data is changed by comparing the current checksums, of respective leaf nodes of the tree structure, to the checksums of an earlier period. This process is complex and time consuming.
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.